Android app项目开发步骤总结 您所在的位置:网站首页 android studio app开发步骤 Android app项目开发步骤总结

Android app项目开发步骤总结

2024-07-06 23:51| 来源: 网络整理| 查看: 265

做了几个android企业应用项目后,总结了项目的基本开发步骤,希望能够交流。   一 应用规划:       确定功能。   必须的界面及界面跳转的流程。       需要的数据及数据的来源及格式。       是否需要服务端支持。       是否需要本地数据库支持。       是否需要特殊权限。       是否需要后台服务。   二 架构设计:       分层。       网络连接。    数据处理-xml、domain。       封装Activity。   三 界面设计:         主界面确定。    · 模块界面、列表、查看、编辑界面。       菜单、按钮、对话框、提示信息。      界面总体颜色。  四 数据操作和存储:       数据来源。       数据类型。       存储方式。   五 业务实现:       客户端业务解析。   六 页面跳转:      每个页面间的跳转。      

菜单、按钮、事件等

关键字: android app, android develop, android summary       从2010.04启动该项目到现在完成主要功能模块,分享一下开发历程和注意事项。        开发环境: ubuntu7.10 + eclipse 3.5 + sdk       下面是开发总结:   1.  基于源码级的SDK以及SDK升级注意事项  o 熟悉其如何做资源国际化  o 熟悉其如何支持不同屏幕大小,不同density介质  o 熟悉其主要的API以及支持的最低版本和不被再支持的API o 了解其分层架构 o  升级SDK   确保该平台支持相关的cglib版本(否则要升级ubuntu)    简单容行的方式是remove ~/.android下的相关东西,remove先前的相关版本, 再升级   部分Resources(如strings中有%s的)可能需要修改才能适应新的版本   新的sdk里可能不包括老的如2.01版本  2.  Emulator & Mobile  o  用adb shell 操作emulator   http://www.javaeye.com/topic/260042  o  push / pull file in emulator    Eclipse->window->Show View->File Explorer-> pull a file from the device(or  push a file onto the device)  o  用 real mobile连接usb来直接测试(mobile 必须设置为develop/debug mode)    http://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-devel opmenttestinginstallations-or-tethering/  o emulator更能用于性能测试,功能测试。而mobile更适合触摸操作测试和一些View的真 实展现测试  o 屏幕大小适应测试(枚举大,中,小),屏幕方向(枚举横,竖屏),任务切换测试 o  内存适应只能在mobile上做测试  3.  系统配置项  o  SharedPreferences存储位置及如何在emulator上手动修改   找到存储位置: \data\data\your package dir\shared_prefs\your xml files  按照上面的pull/push the file  o  SQLite(sqlite3)   默认存储位置:\data\data\your package dir\databases\your database name   按照上面的用adb shell 操作emulator做部分database的设计和数据更新   设计版本更新和升级  o  Other File I/O   assert下文件读取  文件权限以及读写  o  解读AndroidManifest.xml   application/process标识  最开始启动的activity    activity栈的形式(指定taskAffinity&launchMode="singleTask"),而且转向一个 新的activity是用intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)的形式   需要的权限部分   支持的最低版本  4.  基于View,Context,Manager的开发  系统View & Layout(Layout也是View)   用View本身来做其他Layout间的一个分隔   常用的View&Layout: ListView,ScrollView,RelativeLayout,TableLayout   设计常用的style/theme用到的 Drawable: http://idunnolol.com/android/drawables.html    常用的图片操作   指定颜色的渲染(setColorFilter)    剪裁  自定义View & Layout    Java代码     public class TouchListView extends ListView {  public TouchListView(Context context, AttributeSet attrs, int defStyle) {      } }       Java代码   public class Toolbar extends LinearLayout {         public Toolbar(final Context context) {             super(context);         }                   public Toolbar(final Context con, AttributeSet attrs) {       }          }       o  Application,Activity,Service,View,Intent   Application,Activity,Service与Context的关系  View与Context的关系    用Application来做Activity,Service,View间的全局变量(这比自己用Singleton 实现好)    用工厂模式使用Intent   做activity跳转    sendBroadcast(实时数据交换可借助Thread+ BroadcastReceiver)  o  WindowManager 、PackageManager 等的使用  2.  网络IO  o java.net o android.net o  org.apache.http    如果没有让他在AsyncTask中操作,则他的TimeOut设置必须少于5秒(为ANR 等待时间)    java.net.UnknownHostException   如果发生在emulator,可参 考: http://www.javaeye.com/topic/521023    如果发生在mobile,则一般是DNS解析问题,要么允 许用户再重试操作,要么把Host的域名改为public ip address  3. 绘图部分  o  在View上绘图    只在原来View上加边框等    Java代码   1. @Override    2.      protected void dispatchDraw(Canvas canva s) {}         自定义View    Java代码   1. @Override    2.     protected void onDraw(Canvas canvas) {       o  在Bitmap上绘图    Java代码 

Bitmap result = Bitmap.createBitmap(48,48, Config.ARGB_8888);      2.          Canvas canvas =  new   Canvas(result);     3. ...    4. canvas.drawBitmap(result, rect, rect, paint);       2.  动画  o  帧动画   控制侦速率在25FPS以让其更流畅  o   渐变动画   平移  缩放  旋转   透明  3.  ANR  o 构建消息以及消息循环处理Handler o  使用AsyncTask  4.  Exception & UncaughtException  o  使用UncaughtExceptionHandler  5.  引入第三方jar以及与其他app共享数据  o 通过add user library方式添加第三方jar o  Content Provider的使用   6.  性能优化/调优   o 基于View的优化 http://dl.javaeye.com/topics/download/774b3e9e-1c48-33bd-bc9d-5c27da998181  o 代码级的规范 o  Method级的调优   Method Profiling(如果直接usb连接mobile,需要root权限作此项)  o  GC分析    使用Allocation Tracker 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有